package cqrtplm.mapper;

import cqrtplm.dto.RtCfgDspfDemandMainQueryDTO;
import cqrtplm.entity.RtCfgDspfDemandMain;
import cqrtplm.vo.RtCfgDspfDemandMainVO;

import java.util.List;

/**
 * 需求主表Mapper接口
 *
 * @author 江小雄
 * @date 2025-07-10
 */
public interface RtCfgDspfDemandMainMapper
{
    /**
     * 查询需求主表
     *
     * @param kid 需求主表主键
     * @return 需求主表
     */
    public RtCfgDspfDemandMain selectRtCfgDspfDemandMainByKid(String kid);

    /**
     * 查询需求主表列表
     *
     * @param rtCfgDspfDemandMain 需求主表
     * @return 需求主表集合
     */
    public List<RtCfgDspfDemandMain> selectRtCfgDspfDemandMainList(RtCfgDspfDemandMain rtCfgDspfDemandMain);

    /**
     * 新增需求主表
     *
     * @param rtCfgDspfDemandMain 需求主表
     * @return 结果
     */
    public int insertRtCfgDspfDemandMain(RtCfgDspfDemandMain rtCfgDspfDemandMain);

    /**
     * 修改需求主表
     *
     * @param rtCfgDspfDemandMain 需求主表
     * @return 结果
     */
    public int updateRtCfgDspfDemandMain(RtCfgDspfDemandMain rtCfgDspfDemandMain);

    /**
     * 删除需求主表
     *
     * @param kid 需求主表主键
     * @return 结果
     */
    public int deleteRtCfgDspfDemandMainByKid(String kid);

    /**
     * 批量删除需求主表
     *
     * @param kids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteRtCfgDspfDemandMainByKids(String[] kids);

    List<RtCfgDspfDemandMainVO> selectPageList(RtCfgDspfDemandMainQueryDTO queryDTO);

    List<RtCfgDspfDemandMainVO> selectPageListDaiban(RtCfgDspfDemandMainQueryDTO queryDTO);

    String selectDemandCodeByProductCode(String productCode);
}
